package ninth.线程操作的相关方法;
class MyThread3 implements Runnable{
    @Override
    public void run() {
        System.out.println("1.进入run方法");
        try {
            Thread.sleep(10000);//休眠10s
            System.out.println("2.休眠已经完成");
        } catch (InterruptedException e) {
            System.out.println("3.休眠被终止");
            return;             //让程序返回被调用处
        }
        System.out.println("4.run方法正常结束");
    }
}
public class 中断线程 {
    public static void main(String[] args) {
        MyThread3 mt = new MyThread3();//实例化子类对象
        Thread t = new Thread(mt, "线程");//实例化线程对象
        t.start();
        try {
            Thread.sleep(2000); //稍微停2s再继续终端
        } catch (InterruptedException e) {}
        t.interrupt();  //中断线程执行
    }
}
/**
 * 上面的程序可以看出 一个线程启动了之后进入了休眠状态，原本是要休眠10s之后再继续执行，但是主方法再线程启动之后的2s后就将其打断了，
 * 休眠一旦中断后将执行catch中的代码，并利用里面的return语句返回程序调用处
 *
 */

/*
D:\WorkSpaces\Java\jdk-21\bin\java.exe "-javaagent:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\lib\idea_rt.jar=55631:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\WorkSpaces\JavaDevelopBase_start_329\out\production\JavaDevelopBase_start_329 ninth.线程操作的相关方法.中断线程
1.进入run方法
3.休眠被终止

Process finished with exit code 0

 */